package com.kmxd.ams.client.jy.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 统计信息
 *
 * @author ZuoLG
 * @since 2023-10-16
 */
@Data
@Schema(description = "统计信息对象")
public class StatisticsListVO implements Serializable {

  private static final long serialVersionUID = 1L;

  @Schema(description = "ID")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long id;

  @Schema(description = "利用标题")
  private String title;

  @Schema(description = "申请时间")
  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  private Date applyDate;

  @Schema(description = "状态 0-已归档  1-待归还 2已归还")
  private Integer status;

  @Schema(description = "利用评价  0-查到 1-部分查到 2-未查到")
  private Integer useEval;

  @Schema(description = "服务评价 5-极好 4-好 3-一般 2-差 1-极差")
  private Integer serverEval;

  @Schema(description = "次")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long mainOrder;

  @Schema(description = "人次")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long personOrder;

  @Schema(description = "卷次")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long volOrder;

  @Schema(description = "件次")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long docOrder;

  @Schema(description = "备注")
  private String memo;

  @Schema(description = "档案载体(纸质)")
  private Integer carrierP = 0;

  @Schema(description = "档案载体(数字化)")
  private Integer carrierD = 0;

  @Schema(description = "档案载体(声像)")
  private Integer carrierS = 0;

  @Schema(description = "被评价人id")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long userId;

  @Schema(description = "被评价人名称")
  private String userName;

  @Schema(description = "评价时间")
  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  private Date createTime;

  /**
   * 评价月份
   */
  private Integer timeMonth;

  /**
   * 评价年份
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Integer timeYear;

  @Schema(description = "评价人id")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long createUserId;

  @Schema(description = "是否评价  0-未评价 1-已评价")
  private Integer isEvaluate;

  @Schema(description = "摘抄份数")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long zcfs;

  @Schema(description = "摘抄页数")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long zcys;

  @Schema(description = "静电复印份数")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long jdfyfs;

  @Schema(description = "静电复印页数")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long jdfyys;

  @Schema(description = "摄影复制份数")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long syfzfs;

  @Schema(description = "摄影复制页数")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long syfzys;

  @Schema(description = "缩微复制份数")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long swfzfs;

  @Schema(description = "缩微复制页数")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long swfzys;

  @Schema(description = "数字化打印份数")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long szhdyfs;

  @Schema(description = "数字化打印页数")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long szhdyys;

  @Schema(description = "数字化拷贝份数")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long szhkbfs;

  @Schema(description = "数字化拷贝页数")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long szhkbys;

  @Schema(description = "开放")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long kfq;

  @Schema(description = "未开放")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long wkf;

  @Schema(description = "建国前")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long jgq;

  @Schema(description = "历史革命")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long lsgm;

  @Schema(description = "建国后")
  @JsonSerialize(using = ToStringSerializer.class)
  private Long jgh;
}
